Load balance for dual interface automotive wi-fi controllers for p2p devices

ABSTRACT

A method includes receiving at a wireless access point a first probe request from a first client device requesting connection with the wireless access point via a first frequency band, queueing the first client device in response to an indication that the first client device supports connection via the second frequency band, and in response to receiving at the wireless access point a second probe request from the first client device requesting connection with the wireless access point via the second frequency band, establishing a connection between the wireless access point and the first client device using the second frequency band.

RELATED APPLICATIONS

The present application is a continuation application for U.S.Non-Provisional application Ser. No. 15/925,566, filed on Mar. 19, 2018,which claims the priority and benefit of U.S. Provisional ApplicationNo. 62/590,979, filed on Nov. 27, 2017, all of which is incorporated byreference herein in its entirety.

TECHNICAL FIELD

This disclosure relates to the field of wireless communications and, inparticular, to the connection of dual-band client devices to a wirelessaccess point.

BACKGROUND

Wi-Fi is a technology for connecting devices in wireless local areanetworks according to the Institute of Electrical and ElectronicsEngineers (IEEE) 802.11 specification. Devices that can that can beconnected using Wi-Fi technology include personal computers, video-gameconsoles, phones, tablets, digital cameras, smart televisions, digitalaudio players, printers, and more. These and other Wi-Fi compatibledevices can access the Internet by connecting to an Internet-connectedwireless access point.

The frequency bands most commonly used by Wi-Fi devices are the 2.4gigahertz (GHz) and 5 GHz radio bands. These frequency bands areindustrial, scientific and medical (ISM) radio bands, which areinternationally designated for use in industrial, scientific and medicalfields for purposes other than telecommunications. Many devices, such asmicrowave ovens, baby monitors, etc. generate emissions in the 2.4 GHzband. In addition, popular communication technologies such as Bluetoothalso use the 2.4 GHz band. The increasing number of Bluetooth and otherdevices that use or emit signals in the 2.4 GHz band can interfere withWi-Fi signals in the same band, particularly when many such devices arebeing used in close proximity, such as when the devices are used in aroom of a building or an interior cabin of a vehicle.

BRIEF DESCRIPTION OF THE DRAWINGS

The present disclosure is illustrated by way of example, and not by wayof limitation, in the figures of the accompanying drawings.

FIG. 1 is a block diagram of a wireless system in a vehicle, accordingto an embodiment.

FIG. 2 illustrates a block diagram of a wireless network, according toan embodiment.

FIG. 3A illustrates a block diagram of a dual-band radio device,according to an embodiment.

FIG. 3B illustrates a block list of wireless client devices, accordingto an embodiment.

FIGS. 4A-4D illustrate timing diagrams for establishing connectionsbetween a wireless access point and client devices, according to anembodiment.

FIG. 5 illustrates a flow diagram of process for establishing aconnection between a dual-band wireless access point and a clientdevice, according to an embodiment.

DETAILED DESCRIPTION

The following description sets forth numerous specific details such asexamples of specific systems, components, methods, and so forth, inorder to provide a good understanding of several embodiments of theclaimed subject matter. It will be apparent to one skilled in the art,however, that at least some embodiments may be practiced without thesespecific details. In other instances, well-known components or methodsare not described in detail or are presented in a simple block diagramformat in order to avoid unnecessarily obscuring the claimed subjectmatter. Thus, the specific details set forth are merely exemplary.Particular implementations may vary from these exemplary details andstill be contemplated to be within the scope of the claimed subjectmatter.

In one embodiment, Wi-Fi technology is used to establish connectionsbetween one or more devices in an environment such as an interior of avehicle (e.g., automobile or boat), an interior room of a building, oranother living space. In particular, Wi-Fi technology can be used toestablish a peer-to-peer (P2P) ad-hoc wireless network including one ormore wireless devices. In such a P2P network, a wireless access pointdevice is designated as a group owner (GO) in the network, while otherdevices in the P2P network are clients. The group owner, when designatedby a user, is known as an Autonomous Group Owner (AGO). The wirelessaccess point can be a soft access point (SoftAP), a mobile access point,a group owner (GO), or any other device that provides access pointfunctionality.

In one embodiment, an access point device includes a dual-band radiothat is capable of establishing connections over both of the 2.4 GHz(2.4G) and 5 GHz (5G) bands. The access point thus includes a 2.4 GHzAGO and a 5 GHz AGO that are both connected to the same network. Someclient devices (i.e., single-band devices) are only capable ofconnecting to the network via the 2.4 GHz AGO (using the 2.4 GHz band);however, dual-band clients support either of the 2.4 GHz or the 5 GHzbands.

However, in many cases, a dual-band capable client connects to one ofthe two group owners according to its own internal logic, which cancause the dual-band client to connect using the more crowded 2.4 GHzband even if it is capable of using the less crowded 5 GHz band. In someuse cases, such as automotive infotainment systems, wireless networksare often dominated by a greater number of 2.4 GHz devices, includingBluetooth devices and single-band 2.4 GHz Wi-Fi devices, than dual-banddevices. In these environments, a dual-band capable client using the 2.4GHz band could operate at a substantially lower data rate due tointerference and traffic in the 2.4 GHz band, resulting in poorperformance.

In one embodiment, a wireless access point device operating dual AGOsfor the 2.4 GHz and 5 GHz bands steers dual-band client devices toconnect via the 5 GHz interface instead of the 2.4 GHz interface. Thisavoids interference caused by Bluetooth devices and 2.4 GHz Wi-Fidevices, thus improving performance for the 5 GHz capable dual-banddevices. However, individual dual-band capable devices are notnecessarily configured to prefer the 5 GHz band, and may in fact preferthe 2.4 GHz band. In a common configuration, for example, a dual-bandcapable P2P device performs a P2P discovery service that begins byprobing the social channels 1, 6, and 11 in the 2.4 GHz band.

Accordingly, the wireless access point device in one embodimentidentifies dual-band capable devices and prevents these devices fromconnecting to the 2.4 GHz GO. For devices in an IEEE 802.11 compliantnetwork using the Wi-Fi Protected Setup protocol, the group owner candetermine the band capabilities of a client attempting to connect from aWi-Fi Protected Setup Information Element (WPS IE) in a probe requestthat is transmitted by a client when attempting to connect to the groupowner. In one embodiment, the access point device thus causes dual-bandcapable devices to connect using the 5 GHz band without first connectingvia the 2.4 GHz band by ignoring probe requests in the 2.4 GHz band;having failed to connect using the 2.4 GHz band, the dual-band deviceconnects in the 5 GHz band instead.

FIG. 1 illustrates an embodiment of a vehicle system that includesdevices connected in a wireless network. The vehicle 100 includes awireless access point device 110 that is connected to a media device120, which can be a stereo head unit, infotainment unit, or other devicein the vehicle 100. Each of the wireless access point 110 and the mediadevice 120 are powered by the power subsystem 140 of the vehicle. Thesystem also includes a number of wireless client devices 130 that arecapable of connecting to the wireless access point 110 via the 2.4 GHzor 5 GHz bands, or other Wi-Fi frequency bands. In one embodiment, thewireless access point device 110 is also capable of connecting toBluetooth devices. From the wireless access point 110, wireless radiosignals are transmitted from the antenna (or set of antennas) 150. Thewireless access point 110 supports beam steering, and can direct signalstransmitted from the antenna 150 in a direction 151 toward the interiorof the vehicle 100, where Wi-Fi client devices and Bluetooth devices aremost likely to be located.

While the vehicle 100 is illustrated in FIG. 1 as a passengerautomobile, the vehicle 100 in alternative embodiments may be embodiedas a different type of vehicle, such as an aircraft or boat. Inalternative embodiments, components of a wireless network can be locatedinside a room or other living space. For example, a home theater system,home automation system, etc. can include multiple wirelessly connecteddevices inside or near an interior or exterior living space.

FIG. 2 illustrates an embodiment of a wireless network 200 including awireless access point 110 that supports wireless communications over twodifferent frequency bands with Wi-Fi client devices 211 and 212. Thewireless access point 110 also includes a Bluetooth module 206 toestablish and maintain one or more Bluetooth connections with one ormore respective Bluetooth devices 213. The wireless access point 110communicates with one or more single-band Wi-Fi client devices 212 via a2.4 GHz GO transmitting signals through a first antenna 150(1), which isalso shared with the Bluetooth module 206. The wireless access point 110can also communicate with a dual-band Wi-Fi client device 211 througheither the 2.4 GHz GO or a 5 GHz GO transmitting signals through asecond antenna 150(2). In one embodiment, each of the 2.4 GHz GO and 5GHz GO are single-input single-output (SISO) access points having thesame service set identifier (SSID) and passcode for connection.

In one embodiment, the wireless network 200 includes one or moresingle-band client devices 212 and Bluetooth devices 213 that arealready connected to the wireless access point 110. The single-bandclient devices 212 and Bluetooth devices 213 communicate with thewireless access point 110 and/or each other using the 2.4 GHz frequencyband, thus creating an environment in which the 2.4 GHz band is moreheavily used than the 5 GHz band. Accordingly, when a dual-band clientdevice 211 attempts to connect wirelessly to the wireless access point110 in this environment, the wireless access point 110 steers thedual-band client device 211 to connect using the 5 GHz band to avoidinterference with and from the existing 2.4 GHz traffic.

The wireless access point 110 includes a dual-band radio device 205 inwhich the 2.4 GHz GO and 5 GHz GO are implemented. To connect to thewireless access point 110, the dual-band client device 211 transmits aprobe request that requests a connection with the wireless access point110 via either the 2.4 GHz or the 5 GHz frequency bands. In response toa probe request for connection via the preferred 5 GHz band, thewireless access point 110 transmits a probe response to the dual-bandclient device 211 to establish a wireless connection between thewireless access point 110 and the dual-band client device 211 using the5 GHz frequency band. If the dual-band client device 211 transmits aprobe request for connection using the non-preferred 2.4 GHz band, thewireless access point 110 attempts to steer the client device 211 toconnect via the 5 GHz band.

In one embodiment, the processing unit 201 performs computationsassociated with steering the dual-band client device 211 to connectusing the 5 GHz frequency band by executing instructions stored in thememory 202. The memory 202 can include volatile and/or non-volatilememory, random-access memory (RAM), read-only memory (ROM), etc. Invarious embodiments, the instructions 207 can be provided as software,firmware, or a combination of software and firmware.

According to the instructions 207, when a probe request for thenon-preferred 2.4 GHz band is received, the processor 201 determineswhether the client device 211 is capable of using the preferred 5 GHzband. The processor 201 validates and parses a WPS IE frame transmittedin the 2.4 GHz probe request. In the ‘RF Bands’ attribute of the WPS IE,a value of 0x01 indicates that the device is capable of using the 2.4GHz band, 0x02 indicates that the device is capable of using the 5 GHzband, and 0x03 or ‘Auto’ indicates that the device can use either band.If the ‘RF Bands’ attribute indicates that the client device 211 is adual-band device that is also capable of using the 5 GHz band, theprocessing unit 201 queues the device 211 without responding to the 2.4GHz probe request. The device 211 is queued in a block list 203 storedin the memory 202.

While the client 211 is in the block list 203, 2.4 GHz probe requestsfrom the client 211 are ignored until an expiration time associated withthe client 211 in the block list 203 is reached. Since probe requestsfor the 2.4 GHz band are ignored, the client device 211 attempts toconnect to the wireless access point 110 using the 5 GHz band.Accordingly, the client device 211 transmits a 5 GHz probe request thatis received at the 5 GHz GO, and the wireless access point 110 transmitsa probe response to establish the 5 GHz wireless connection in responseto the 5 GHz probe request.

If no 5 GHz probe request is received, the processing unit 201 continuesto ignore any 2.4 GHz probe requests from the client 211 whileoccasionally or periodically comparing the expiration time with acurrent time provided by device clock 204 to determine if the expirationtime has been reached. After the expiration time has been reached, thewireless access point 110 stops ignoring 2.4 GHz probe requests from theclient 211 and allows the client device 211 to connect using the 2.4 GHzband. This mechanism allows 2.4 GHz single-band clients to eventuallyconnect to the wireless access point 110 even if they inaccuratelyassert dual-band capabilities by reporting a ‘RF Bands’ attribute of‘Auto’. This also allows dual-band capable clients to connect via the2.4 GHz band if they do not attempt to connect using the 5 GHz bandwithin a certain timeout period, as delimited by the expiration time.

In one embodiment, the above mechanism can be used in general to steerwireless connections from any non-preferred frequency band to apreferred frequency band, where these frequency bands representdifferent designated ranges of frequencies. While in one embodiment, thenon-preferred and preferred frequency bands are the 2.4 GHz and 5 GHzbands as described above, the non-preferred and preferred frequencybands can represent different frequency ranges in other embodiments. Forexample, the above mechanism can be used to steer wireless connectionsfrom a non-preferred upper portion of the 5 GHz band to a preferredlower portion of the 5 GHz band, or vice versa.

In one embodiment, the components 201-207 of the wireless access point110 reside in a single integrated circuit chip device. In an alternativeembodiment, the wireless access point 110 components are located inseparate integrated circuit packages on a common carrier board.

FIG. 3A illustrates a block diagram of a dual-band radio device 205,according to an embodiment. The dual-band radio device 205 includes amedia access controller (MAC) 311 and a wireless core 321 forimplementing a 2.4 GHz GO, and a MAC 310 and wireless core 320 forimplementing a 5 GHz GO. The MAC modules 310 and 311 encapsulate datainto frames to be transmitted wirelessly, then forward the frames towireless cores 320 and 321 to be converted into wireless signals andtransmitted via antennas 150(2) and 150(1), respectively. In oneembodiment, each of the wireless cores 320 and 321 includes radiotransceiver circuitry, modulator and demodulator (modem) circuitry, andother physical layer circuit modules for performing the wirelesstransmission. Communications (e.g., probe requests) transmitted fromclient devices to the wireless access point 110 using the 2.4 GHz bandare received by the wireless core 321, while communications transmittedusing the 5 GHz band are received by the wireless core 320. In thedual-band radio device 205, the MAC 310 for the preferred 5 GHz bandfunctions as a master device, while MAC 311 for the non-preferred 2.4GHz band functions as a slave. Data provided from the processing unit201 to the slave MAC 311 is passed to the slave MAC 311 by the masterMAC 310.

FIG. 3B illustrates a block list 203, according to an embodiment. Theblock list 203 is stored in the memory 202 and is maintained by theprocessing unit 201. When a client device 211 transmits a probe requestfor the non-preferred 2.4 GHz frequency band and the ‘RF Bands’attribute indicates the client device 211 is capable of communicatingvia the 5 GHz band, then the processing unit 201 queues the clientdevice 211 in the block list (if the client device 211 is not already inthe block list 203). In one embodiment, the processing unit 201 queuesthe client device 211 by storing the media access control (MAC) addressof the client device 211 in the block list 203. In one embodiment, theblock list 203 is implemented using a Bloom filter; accordingly, the MACaddress of the client is hashed, and a MAC address hash (e.g., 330-332)is stored in the block list 203. Each MAC address or MAC address hash330-332 is associated with a corresponding expiration time 340-342. Inone embodiment, the expiration time is calculated by adding apredetermined time duration (e.g., 10 milliseconds) to the time at whichthe probe request was received.

When a subsequent probe request is received for the non-preferred 2.4GHz band, the processing unit 201 checks the MAC address of therequesting client device against the block list 203. When the block list203 is implemented as a Bloom filter, the MAC address of the requestingclient is hashed and compared with the MAC address hash entries 330-332in the block list 203 to determine if the client device was previouslyblocked. If a match is found (indicating that the client device waspreviously blocked) and the associated expiration time has not beenexceeded by the system time, as provided by the device clock 204, thenthe received 2.4 GHz probe request is ignored.

Since the Bloom filter implementation of block list 203 isprobabilistic, false positives can occur; that is, a client device canoccasionally be identified as being on the block list 203 when it wasnot previously blocked (e.g., due to hash collision). In these cases,the client device will eventually be unblocked when the expiration timeis reached.

For each client device represented in the block list 203, when theassociated expiration time is reached, the wireless access point 110stops ignoring probe requests for the non-preferred 2.4 GHz band. Inresponse to receiving a probe request for the 2.4 GHz band from a clientdevice after the client device has been unblocked (i.e., the expirationtime has elapsed), the wireless access point 110 transmits a proberesponse in order to establish the requested wireless connection withthe client using the 2.4 GHz band. If a 5G probe request is receivedfrom a client device, the block list 203 is not checked, and thewireless access point 110 transmits a probe response to establish therequested connection in the 5 GHz band.

The client device is dequeued from the block list 203 by removing itsMAC address or MAC address hash from the block list 203 after aconnection has been established in either of the 2.4 GHz or 5 GHz bands.Clients are dequeued from the block list after the connection has beenestablished so that subsequent probe requests for the 2.4 GHz band donot cause the client device to be blocked again. In one embodiment, theblock list 203 is implemented using a counting Bloom filter to allow thedeletion of MAC address hashes.

FIG. 4A illustrates a timing diagram for establishing a wirelessconnection between a dual-band client device 211 and wireless accesspoint 110, according to an embodiment. As illustrated in FIG. 4A, theclient device 211 first attempts to connect to the wireless access point110 via the 2.4 GHz frequency band by transmitting a 2.4 GHz proberequest 401 to the wireless access point 110, which is received in thewireless core 321. At time 406, upon receiving the probe request 401,the wireless access point 110 checks the block list 203 to determinewhether the client device 211 is blocked. The wireless access point 110determines that the dual-band client device 211 has not been previouslyblocked, and thus continues to determine whether the dual-band clientdevice 211 is capable of connecting using the 5 GHz band by checking the‘RF Bands’ attribute of the WPS IE frame transmitted with the proberequest 401.

The client device 211 is a dual-band capable device; accordingly, the‘RF Bands’ attribute is set to ‘Auto’, indicating that the dual-bandclient device 211 can communicate in either of the 2.4 GHz or the 5 GHzbands. In response to determining that the client device 211 is capableof communicating in the preferred 5 GHz band, the wireless access point110 queues the client for a duration 408 by adding its MAC address or ahash of its MAC address to the block list 203, along with an expirationtime 409. In one embodiment, the expiration time 409 is 10 millisecondsafter the time that the 2.4 GHz probe 401 is received at the wirelessaccess point 110.

After a probe timeout duration 405, the dual-band client device 211,having failed to receive a probe response for its initial probe request401, transmits a subsequent probe request 402 to reattempt connecting inthe 2.4 GHz band. The probe request 402 is received in the wireless core321 and its contents are provided to the processing unit 201. Theprocessing unit 201 in the wireless access point 110 checks the blocklist 203 during time 407, determines that the client 211 is queued inthe block list 203, and ignores the 2.4 GHz probe request 402accordingly.

If probe request 403 requesting to establish a connection in the 5 GHzband is received in the 5 GHz wireless core 320 of the wireless accesspoint 110 during the time 408 when the client 211 is queued, thewireless access point 110 does not check the block list 203 andtransmits a valid 5 GHz probe response 404 via the wireless core 320that includes the details of the 5 GHz GO to establish the requested 5GHz connection. After the client device 211 receives the probe response404, the 5 GHz connection is established between the client device 211and the wireless access point 110. The client device 211 is dequeuedfrom the block list 203.

FIG. 4B illustrates a timing diagram for establishing a wirelessconnection between a single-band client device 212 and wireless accesspoint 110, according to an embodiment. In one embodiment, the clientdevice 212 represents a single-band wireless device that erroneouslyidentifies itself as a dual-band capable device (via setting the ‘RFBands’ attribute to ‘Auto’); alternatively, the client device 212 canrepresent a dual-band capable device that continues attempting toconnect via the 2.4 GHz frequency band after the expiration time 420 haselapsed, without attempting to connect using the 5 GHz frequency band.

The client device 212 transmits a 2.4 GHz probe request 411 to thewireless access point 110. The probe request 411 is received in the 2.4GHz wireless core 321 of the wireless access point 110. During time 416,the wireless access point 110 checks its block list 203 and determinesthat the client device 212 has not previously been blocked. Also duringtime 416, the wireless access point 110 parses the WPS IE frametransmitted with the probe request 411. The ‘RF Band’ attribute of theWPS IE frame is set to ‘Auto’, inaccurately indicating that the clientdevice 212 has dual-band communication capabilities; therefore, thewireless access point 110 queues the client device 212 for a duration419. The processing unit 201 of the wireless access point 110 adds theMAC address or a hash of the MAC address of the client device 212 to theblock list 203 and associates it with an expiration time 420.

While the client device 212 is queued, its probe timeout 415 expires andthe client device 212 transmits a subsequent probe request 412 againrequesting connection via the 2.4 GHz band. In response to the proberequest 412, the wireless access point 110 at time 417 locates theclient device 212 on the block list 203 and ignores the probe request412.

A third 2.4 GHz probe request 413 is transmitted from the client device212 and received at the wireless access point 110 after the expirationtime 420 has elapsed. During time 418, the processing unit 201 of thewireless access point 110 checks the block list 203 and determines thatthe client device 212 was previously blocked and that the block hasexpired. Therefore, in response to the probe request 413, the wirelessaccess point 110 transmits via the 2.4 GHz wireless core 321 a proberesponse 414 including details of the 2.4 GHz GO. A 2.4 GHz connectionis established between the client device 212 and the wireless accesspoint 110 after the probe response 414 is received at the client device212. When the connection is established, the processing unit 201dequeues the client device 212 from the block list 203 by removing itsMAC address or MAC address hash from the block list 203. FIG. 4B thusillustrates a fail-safe mechanism by which a single-band client device212 that erroneously reports its band capability (or a dual-band capableclient device that does not timely transmit a 5 GHz probe request) canstill connect with the wireless access point 110 using the 2.4 GHz bandafter the expiration time 420 has elapsed.

FIG. 4C illustrates a timing diagram for establishing a wirelessconnection between a dual-band client device 211 and wireless accesspoint 110, according to an embodiment. In particular, FIG. 4Cillustrates the case in which the dual-band client device 211 prefersthe 5 GHz band and transmits a 5 GHz probe request 451 withoutpreviously transmitting any 2.4 GHz probe request. In this case, thewireless access point 110 receives the probe request 451 in itspreferred 5 GHz wireless core 320 and responds by transmitting a 5 GHzprobe response 452 to the client device 211. After the client device 211receives the probe response 452, the requested connection is establishedbetween the client device 211 and the wireless access point 110 in the 5GHz frequency band. In one embodiment, during this process, the wirelessaccess point 110 does not need to check the ‘RF Bands’ attribute or theblock list.

In one embodiment, the dual-band client device 211 identifies either the2.4 GHz GO or the 5 GHz GO as transmitting a stronger signal andattempts connecting to the GO having the stronger signal first.Accordingly, the wireless access point 110 induces the client device 211configured in this way to send the first probe request 451 to the 5 GHzGO by increasing the transmission power (e.g., of the beacon and proberesponses) in the 5 GHz band to a level higher than the transmissionpower in the 2.4 GHz band. In one embodiment the transmission power inthe 5 GHz band is increased by 2-3 decibel-milliwatts (dBm) over thetransmission power of the 2.4 GHz band. In one embodiment, the increasein power in the 5 GHz band can be a directional power increase achievedby beamforming. For example, with reference to FIG. 1, the signal can bebeamformed to focus transmission power in the 5 GHz band in thedirection 151 toward the interior of a vehicle cabin where clientdevices 130 are most likely to be located. In other embodiments, theclient device 211 may prefer connecting via the 5 GHz band based on itsown determination that better performance can be obtained by using the 5GHz band, its own predetermined configuration, a command from a user toconnect to the 5 GHz band, etc.

FIG. 4D illustrates a timing diagram for establishing a wirelessconnection between a single-band client device 212 and wireless accesspoint 110, according to an embodiment. In particular, FIG. 4Dillustrates the case in which the single-band client device 212 iscapable of communicating only on the 2.4 GHz band, and correctlyindicates its single-band capability in the ‘RF Bands’ attribute. Inthis case, the wireless access point 110 receives the probe request 461in the 2.4 GHz wireless core 321. At time 463, the wireless access point110 checks the block list 203 and determines that the client device 212has not been previously blocked. Also at time 463, the wireless accesspoint 110 checks the ‘RF Bands’ attribute transmitted in the WPS IEframe in the probe request 461. The ‘RF Bands’ attribute is correctlyset to 0x01, indicating that the client device 212 can only communicatein the 2.4 GHz band. Accordingly, the wireless access point 110 respondsby transmitting a 2.4 GHz probe response 462 to the client device 211.After the client device 212 receives the probe response 462, therequested connection is established between the client device 212 andthe wireless access point 110 in the 2.4 GHz frequency band.

FIG. 5 illustrates a process 500 for connecting clients to a dual-bandcapable wireless access point 110, according to an embodiment. Theoperations of process 500 are performed by components of the wirelessnetwork 200. During the process 500, the wireless access point 110maintains one or more Bluetooth connections between the wireless accesspoint 110 and one or respective Bluetooth devices 213, and furthermaintains Wi-Fi connections for one or more client devices 212. TheBluetooth devices 213 and client devices 212 operate in the 2.4 GHzfrequency band, thus increasing the amount of traffic and potentialinterference in this band.

In one embodiment, the process 500 is performed in accord with FIG. 4Ato connect a dual-band client device 211 with the wireless access point110 using the preferred 5 GHz frequency band, even when the clientdevice 211 initially requests connection using the non-preferred 2.4 GHzband.

At block 501, both of the 2.4 GHz GO and the 5 GHz GO of the wirelessaccess point 110 listen for probe requests in their respective frequencybands. The client device 211 transmits an initial probe request 401requesting a connection with the wireless access point 110 in the 2.4GHz frequency band. At block 503, the wireless access point 110 has notreceived a probe request in the 5 GHz wireless core 320; accordingly,the process 500 continues at block 507. At block 507, the wirelessaccess point 110 receives the probe request 401 in the 2.4 GHz wirelesscore 321, (e.g., probe request 401); therefore, the process 500continues at block 509.

At block 509, the processing unit 201 checks the block list 203 (e.g.,at time period 406) to determine if the client device 211 has beenpreviously blocked. At block 511, the client device 211 is not in theblock list 203; therefore, the process 500 continues at block 513. Atblock 513, the processing unit 201 checks the ‘RF Bands’ attribute inthe WPS IE frame transmitted in the probe request 401. At block 515, ifthe ‘RF Bands’ attribute is 0x03 (i.e., ‘Auto’), this indicates that theclient device 211 is a dual-band device that supports connections usingthe 5 Ghz frequency band. The ‘RF Bands’ attribute for the client device211 is ‘Auto’; accordingly, the process 500 continues at block 519.

At block 519, the processing unit 201 queues the client device 211 byadding a MAC address or a hash of the MAC address (e.g., for a Bloomfilter implementation) of the client device 211 to the block list 203.The processing unit 201 also calculates an expiration time 409 for theblock by adding a predetermined time (e.g., 10 milliseconds) to the timeat which the probe request 401 was received. The client device 211 isthus queued for a time duration 408, which is terminated at theexpiration time 409. At block 523, the 2.4 GHz probe request 401 for theblocked client device 211 is ignored accordingly. From block 523, theprocess 500 returns to block 501 and continues to listen for incomingprobe requests at the 2.4 GHz GO and 5 GHz GO.

If another 2.4 GHz probe request 402 is received before the expirationtime 409, then at block 511, the processing unit 201 determines duringtime 407 that the client device 211 is represented in the block list 203and, continuing to block 521, determines that the blocking of clientdevice 211 has not yet expired. Accordingly, the 2.4 GHz probe request402 is ignored at block 523, as are any other 2.4 GHz probe requestsreceived from the client device 211 before the expiration time 409elapses. From block 523, the process 500 returns to block 501 andcontinues to listen for probe requests.

However, if the client device 211 transmits a probe request 403 for thepreferred 5 GHz band prior to the expiration time 409, then the process500 continues from block 503 to block 505. At block 505, the wirelessaccess point 110 establishes the requested 5 GHz connection with theclient device 211 by, in response to the probe request 403, transmittinga probe response 404 from the wireless access point 110 to the clientdevice 211. The 5 GHz connection is established after the client device211 receives the probe response, which includes details of the 5 GHz GO.At this point, the client device 211 is dequeued from the block list 203in response to successfully establishing the connection. The process 500returns to block 501 to continue listening for probe requests from otherclient devices.

In one embodiment, the process 500 is performed in accord with FIG. 4Bto connect a single-band client device 212 with the wireless accesspoint 110 using the preferred 2.4 GHz frequency band, even if the clientdevice 212 erroneously reports dual-band capability or otherwise failsto request connection using the 5 GHz band.

At block 501, the wireless access point 110 listens for probe requestson the 2.4 GHz and 5 GHz bands. When the client device 212 transmits aprobe request 411 in the 2.4 GHz band, the process 500 continues fromblock 503 to block 507, and from block 507 continues to block 509. Atblock 509, the processing unit 201 at time 416 checks the block list 203and, since the client device 212 has not yet been placed on the blocklist 203, proceeds from block 511 to block 513 to check the ‘RF Bands’attribute in the WPS IE of the probe request 411.

At block 515, if the ‘RF Bands’ attribute is ‘Auto’, the process 500continues at block 519. At block 519, the processing unit 201 adds theclient device 212 to the block list 203 by recording a MAC address or ahash of the MAC address of the client device 212 in the block list 203,and associating it with an expiration time 418. The client device 212 isthus queued for a time duration 419, which is terminated at theexpiration time 420. At block 523, the probe request 411 is ignored.Subsequent probe requests (e.g., 412) received by the wireless accesspoint 110 before the expiration time 420 has elapsed are also ignoredthrough the operation of blocks 507, 509, 511, 521, and 523.

When a 2.4 GHz probe request 413 is transmitted by the client device 212that is received by the wireless access point 110 after the expirationtime 420 has elapsed, then at block 521, the processor 201 determinesthat the current time as provided by the device clock 204 exceeds theexpiration time 420, indicating that the expiration time 420 haselapsed. From block 521, the process 500 continues at block 517. Atblock 517, the wireless access point 110 responds to the probe request413 by transmitting a probe response 414 including the details of the2.4 GHz GO. The 2.4 GHz connection is established after the clientdevice 212 receives the probe response 414. Thus, when the current timeexceeds the expiration time before any probe request is received for the5 GHz band, the wireless access point 110 establishes a connection withthe client device 212 using the non-preferred 2.4 GHz band. In responseto successfully establishing the 2.4 GHz connection, the client device212 is dequeued from the block list 203, and the process 500 returns toblock 501 to listen for probe requests from other client devices.

In one embodiment, the process 500 is performed in accord with FIG. 4Cto connect a dual-band client device 211 with the wireless access point110 using the preferred 5 GHz frequency band when the client device 211initially requests connection using the preferred 5 GHz band. In oneembodiment, the client device 211 initially attempts to connect usingthe 5 GHz band based on determining that signals (e.g., beacon, proberesponse, etc.) transmitted in the 5 GHz band has a higher transmissionpower than signals transmitted in the 2.4 GHz band by the wirelessaccess point 110.

In one embodiment, the transmission power in the 5 GHz band may be dueto a deliberate increase in overall transmission power for the 5 GHzband, or due to beamforming of the 5 GHz signal to increase thetransmission power in a particular direction (e.g., toward the clientdevice 211. In one embodiment, the increase in transmission power forthe preferred 5 GHz band is used in conjunction with the queueingmechanism for steering dual-band client devices to the 5 GHz band, sincenot all dual-band client devices may be configured to prefer thefrequency band having the stronger signal.

At block 501, the wireless access point 110 listens for probe requestsin the 2.4 GHz and 5 GHz bands. The client device 211 initiallytransmits a probe request 451 requesting a connection using thepreferred 5 GHz band. Accordingly, the process 500 continues from block503 to block 505. At block 505, the wireless access point 110establishes the requested 5 GHz connection with the client device 211by, in response to the probe request 403, transmitting a probe response452 from the wireless access point 110 to the client device 211. The 5GHz connection is established after the client device 211 receives theprobe response, which includes details of the 5 GHz GO. At this point,the client device 211 is dequeued from the block list 203 in response tosuccessfully establishing the connection. The process 500 returns toblock 501 to continue listening for probe requests from other clientdevices.

In one embodiment, the process 500 is performed in accord with FIG. 4Dto connect a single-band client device 212 with the wireless accesspoint 110 using the preferred 2.4 GHz frequency band when the clientdevice 211 accurately reports its single-band capabilities. At block501, the wireless access point 110 listens for probe requests in the 2.4GHz and 5 GHz bands. The client device 211 initially transmits a proberequest 461 requesting a connection using the 2.4 GHz band. Accordingly,the process 500 continues from block 503 to block 507, and from block507 to block 509. At block 509, the processing unit 201 at time 463checks the block list 203 and, since the client device 212 is not in theblock list 203, proceeds from block 511 to block 513 to check the ‘RFBands’ attribute in the WPS IE of the probe request 461. In this case,the ‘RF Bands’ attribute is 0x01, indicating that the client device 212is only capable of communicating using the 2.4 GHz band. Accordingly,the process 500 continues from block 515 to block 517.

At block 517, the wireless access point 110 responds to the proberequest 461 by transmitting a probe response 462 including the detailsof the 2.4 GHz GO. The 2.4 GHz connection is established after theclient device 212 receives the probe response 462. The process 500returns to block 501 to continue listening for probe requests from otherclient devices.

In one embodiment, the dual-band connection process 500 is repeated sothat the wireless access point 110 continues to listen for proberequests in both of the 2.4 GHz and 5 GHz frequency bands, and steer 5GHz band capable devices to connect using the 5 GHz band. The process500 allows even client devices that inaccurately report their bandcapabilities or otherwise fail to timely transmit a 5 GHz probe requestto connect to the 2.4 GHz band. Thus, by the operation of process 500, agreater proportion of 5 GHz capable client devices connect using the 5GHz band, thus reducing congestion in the 2.4 GHz band and increasingspeed for the 5 GHz connected devices.

In the foregoing embodiments, various modifications can be made; forexample, signals described as being asserted with a high voltage mayinstead be asserted with a low voltage, or specified components can bereplaced with other components having similar functionality. Asdescribed herein, conductive electrodes that are “electricallyconnected” or “electrically coupled” may be coupled such that arelatively low resistance conductive path exists between the conductiveelectrodes. Quantities, dimensions, or other values described as“substantially” equal may be nominally equal but need not be exactlyequal (with variations due to manufacturing tolerances, environmentalconditions, quantization or rounding error, and/or other factors), ormay be sufficiently close to equal for achieving an intended effect orbenefit.

Embodiments described herein include various operations. Theseoperations may be performed by hardware components, software, firmware,or a combination thereof. As used herein, the term “coupled to” may meancoupled directly or indirectly through one or more interveningcomponents. Any of the signals provided over various buses describedherein may be time multiplexed with other signals and provided over oneor more common buses. Additionally, the interconnection between circuitcomponents or blocks may be shown as buses or as single signal lines.Each of the buses may alternatively be one or more single signal linesand each of the single signal lines may alternatively be buses.

Certain embodiments may be implemented as a computer program productthat may include instructions stored on a computer-readable medium.These instructions may be used to program a general-purpose orspecial-purpose processor to perform the described operations. Acomputer-readable medium includes any mechanism for storing ortransmitting information in a form (e.g., software, processingapplication) readable by a machine (e.g., a computer). Thecomputer-readable storage medium may include, but is not limited to,magnetic storage medium (e.g., floppy diskette); optical storage medium(e.g., CD-ROM); magneto-optical storage medium; read-only memory (ROM);random-access memory (RAM); erasable programmable memory (e.g., EPROMand EEPROM); flash memory, or another type of medium suitable forstoring electronic instructions.

Additionally, some embodiments may be practiced in distributed computingenvironments where the computer-readable medium is stored on and/orexecuted by more than one computer system. In addition, the informationtransferred between computer systems may either be pulled or pushedacross the transmission medium connecting the computer systems.

Although the operations of the method(s) herein are shown and describedin a particular order, the order of the operations of each method may bealtered so that certain operations may be performed in an inverse orderor so that certain operation may be performed, at least in part,concurrently with other operations. In another embodiment, instructionsor sub-operations of distinct operations may be in an intermittentand/or alternating manner.

In the foregoing specification, the claimed subject matter has beendescribed with reference to specific exemplary embodiments thereof. Itwill, however, be evident that various modifications and changes may bemade thereto without departing from the broader scope of the inventionas set forth in the appended claims. The specification and drawings are,accordingly, to be regarded in an illustrative sense rather than arestrictive sense.

What is claimed is: 1-20. (canceled)
 21. A method for communicating witha client device, the method comprising: receiving a probe request fromthe client device; if the probe request indicates a preferred frequencyband, establishing a wireless connection with the client device over thepreferred frequency band; if the probe request indicates a non-preferredfrequency band, determining if the client is on a block list; if theclient is on the block list, ignoring the probe request; if the clientis not on the block list, determining if a selection of frequency bandsis automatic; if the selection of frequency bands is automatic, addingthe client to the block list and ignoring the probe request; and if theselection of frequency bands is not automatic, establishing a wirelessconnection with the client device over the non-preferred frequency band.22. The method for communicating with a client device of claim 21,further comprising, comparing a timer value for the block list to athreshold, and if the timer value for the block list exceeds athreshold, establishing the wireless connection with the client deviceover the non-preferred frequency band.
 23. The method for communicatingwith a client device of claim 21, wherein the preferred frequency bandis 5 Ghz.
 24. The method for communicating with a client device of claim21, wherein the non-preferred frequency band is 2.4 Ghz.
 25. The methodfor communicating with a client device of claim 21, wherein thepreferred frequency band is greater than the non-preferred frequencyband.
 26. The method for communicating with a client device of claim 21,wherein establishing the wireless connection with the client device overthe preferred frequency band includes transmitting a probe response tothe client device.
 27. The method for communicating with a client deviceof claim 21, wherein adding the client to the block list comprisesadding a media access control (MAC) address of the client device to theblock list by storing a hash of the MAC address.
 28. The method forcommunicating with a client device of claim 21, wherein the clientdevice is capable of communicating via the preferred frequency band andthe non-preferred frequency band.
 29. The method for communicating witha client device of claim 21, wherein the client device incapable ofcommunicating via the preferred frequency band.
 30. An access point (AP)comprising: a first antenna for communication over a first frequency; asecond antenna for communication over a second frequency; a dual-bandradio device coupled to the first and second antennas; a processing unitcoupled to the dual-band radio device; a memory coupled to theprocessing unit, the memory for storing instructions for the processingunit, the instructions for: receiving a probe request from a clientdevice by either the first antenna or the second antenna, if the proberequest indicates a first frequency band, establishing a wirelessconnection with the client device over the first frequency band, if theprobe request indicates a second frequency band, determining if theclient is on a block list, the block list stored in the memory, if theclient is on the block list, ignoring the probe request, if the clientis not on the block list, determining if a selection of frequency bandsis automatic, if the selection of frequency bands is automatic, addingthe client to the block list and ignoring the probe request, and if theselection of frequency bands is not automatic, establishing a wirelessconnection with the client device over the second frequency band. 31.The access point of claim 30 further comprising a Bluetooth modulecoupled to the dual-band radio device, the Bluetooth module forcommunicating with Bluetooth devices over the second frequency.
 32. Theaccess point of claim 30, wherein adding the block list stored in thememory includes adding a media access control (MAC) address of theclient device to the block list by storing a hash of the MAC address.33. The access point of claim 30, wherein the first frequency band isgreater than the second frequency band.
 34. The access point of claim30, wherein establishing the wireless connection with the client deviceover the first frequency band includes transmitting a probe response tothe client device.
 35. The access point of claim 30, wherein theprocessing unit is for comparing a timer value for the block list to athreshold value stored in the memory and if the timer value exceeds thethreshold value, establishing the wireless connection with the clientdevice over the second frequency band.
 36. A system, comprising: aclient device; an access point, the access point including: a dual-bandradio device coupled to a first antenna for communicating via a firstfrequency band and second antenna for communicating via a secondfrequency band; a processing unit coupled to the dual-band radio device,the processing device for establishing a wireless connection with theclient device over the first frequency band if a probe request receivedby at least the first antenna or the second antenna indicates the firstfrequency band; establishing a wireless connection with the clientdevice over the second frequency band if the probe request received byat least the first antenna or the second antenna indicates the secondfrequency band and the client device is not on a block list stored in amemory coupled to the processing unit or a time-out value for the blocklist has been reached.
 37. The system of claim 36 further comprising atleast two additional client devices, wherein each of the client deviceand the at least two additional client devices is wireless connected tothe access point and wherein each of client device and the at least twoadditional client devices includes one or more of a single-band Wi-Fidevice, a dual-band Wi-Fi device, and Bluetooth device.